// axios 二次封装
import axios from 'axios'
// 引入进度条插件
import nprogress from 'nprogress'
// 引入样式
import 'nprogress/nprogress.css'

const requests = axios.create({
  // 默认路径加上 /api
  baseURL: '/mock',
  // 代表请求超时的时间
  timeout: 3000
})
// 请求拦截器
requests.interceptors.request.use((config) => {
  // config :配置对象，对象中headers请求头很重要
  nprogress.start()
  return config
})

// 响应拦截器
requests.interceptors.response.use(
  (res) => {
    // config :配置对象，对象中headers请求头很重要
    nprogress.done()
    return res.data
  },
  (error) => {
    return Promise.reject(new Error(error))
  }
)

export default requests
